Development Environment for Rule-Based Prototyping

Total Page:16

File Type:pdf, Size:1020Kb

Development Environment for Rule-Based Prototyping Development Environment for Rule-based Prototyping PROEFSCHRIFT ter verkrijging van de graad van doctor aan de Open Universiteit op gezag van de rector magnificus prof. mr. A. Oskamp ten overstaan van een door het College voor promoties ingestelde commissie in het openbaar te verdedigen op vrijdag 19 juni 2015 te Heerlen om 16.00 uur precies door Gerardus Michels geboren op 27 februari 1980 te Utrecht Promotores Prof. dr. ir. S.M.M. Joosten Open Universiteit Prof. dr. A. Bijlsma Open Universiteit Overige leden beoordelingscommissie Prof. dr. S. Brinkkemper Universiteit Utrecht Prof. dr. H.A. Proper Radboud Universiteit Prof. dr. M.C.J.D. van Eekelen Open Universiteit Prof. dr. G. Zwaneveld Open Universiteit Dr. J.C.S.P. van der Woude Technische Universiteit Eindhoven Printed by GVO drukkers & vormgevers B.V., Ede. Cover by Floor Geluk. ISBN: ??-??-??-??-?? Copyright c Gerard Michels, 2015 Contents 1 INTRODUCTION 1 1.1 From didactic problem to research . .2 1.1.1 Development of RAP with Ampersand . .4 1.1.2 Teaching a formal language . .5 1.1.3 Automated design tasks for education . .5 1.1.4 Didactic research with RAP . .6 1.2 Contribution . .6 1.3 Dissertation outline . .7 1.4 Origin of content . .8 2 METHOD FOR RULE-BASED PROTOTYPING 9 2.1 Rule-based design for requirements engineers . .9 2.2 Example . 12 2.3 Rule-compliant run-time system . 14 2.4 Conclusion . 15 3 RULE-BASED LANGUAGE FOR RAP 17 3.1 Introduction . 17 3.2 Syntax . 19 3.3 Semantics . 20 3.4 Type System . 22 3.5 Feedback system . 24 3.5.1 Error messages . 25 3.5.2 Demonstration . 27 3.5.3 Conceptual diagrams . 29 3.6 Conclusion . 30 i ii CONTENTS 4 DESIGN OF RAP 31 4.1 Logical design of RAP . 31 4.2 Design of Ampersand-generated prototypes . 35 4.3 Rule-based processes . 36 4.4 Rule-based database . 37 4.4.1 Relational data . 37 4.4.2 Integrity rules . 39 4.5 User interfaces . 40 4.6 User interface layout . 41 4.7 Ampersand compiler . 43 4.8 Conclusion . 44 5 DETAILED SPECIFICATION OF RAP 45 5.1 Overview . 46 5.2 PATTERN: The repository of files . 49 5.2.1 Defined concepts . 50 5.2.2 Declared relations . 53 5.2.3 Defined rules . 57 5.3 PATTERN: Committed files . 57 5.3.1 Defined concepts . 58 5.3.2 Declared relations . 60 5.4 PROCESS: Handling script errors . 62 5.4.1 Defined rules . 63 5.5 PATTERN: Contexts . 64 5.5.1 Defined concepts . 65 5.5.2 Declared relations . 66 5.6 PATTERN: Patterns . 66 5.6.1 Defined concepts . 67 5.6.2 Declared relations . 68 5.7 PATTERN: Generalization rules . 69 5.7.1 Defined concepts . 69 5.7.2 Declared relations . 70 5.7.3 Defined rules . 70 5.8 PATTERN: Concepts . 71 5.8.1 Defined concepts . 73 5.8.2 Declared relations . 73 5.8.3 Defined rules . 75 5.9 PATTERN: Relation type signatures . 76 5.9.1 Defined concepts . 76 5.9.2 Declared relations . 77 CONTENTS iii 5.10 PATTERN: Relation declarations . 78 5.10.1 Defined concepts . 80 5.10.2 Declared relations . 80 5.10.3 Defined rules . 82 5.11 PATTERN: Expressions . 84 5.11.1 Defined concepts . 85 5.11.2 Declared relations . 86 5.11.3 Defined rules . 87 5.12 PATTERN: Rules . 87 5.12.1 Defined concepts . 88 5.12.2 Declared relations . 88 5.13 PATTERN: Symbols . 89 5.13.1 Defined concepts . 89 5.14 PATTERN: Calculated details . 90 5.14.1 Defined concepts . 90 5.14.2 Declared relations . 92 5.15 PROCESS: Testing rules . 93 5.15.1 Defined rules . 93 5.16 PROCESS: Editing a population . 96 5.16.1 Defined rules . 97 5.17 PATTERN: Metrics . 98 5.17.1 Defined concepts . 98 5.17.2 Declared relations . 99 5.18 Conclusion . 100 6 USING RAP FOR EDUCATION 101 6.1 Background on the course . 101 6.2 Research Approach . 103 6.3 A first exploration of traces in RAP . 105 6.3.1 Step 1: harvesting traces . 106 6.3.2 Step 2: defining metrics . 106 6.3.3 Step 3 and 4: formulating observations and learning lessons . 107 6.3.4 Step 5: refining RAP . 107 6.3.5 Further steps . 110 6.4 Observations and Lessons Learned . 110 6.5 Conclusion . 115 iv CONTENTS 7 SPECIFICATION OF RAP EXTENSION FOR METRICS 119 7.1 PATTERN: Ampersand projects . 120 7.1.1 Defined concepts . 122 7.1.2 Declared relations . 123 7.1.3 Defined rules . 124 7.2 How to add a metric to RAP . 125 7.3 Conclusion . 125 8 CONCLUSIONS 127 8.1 Answer to research question . 127 8.1.1 Requirements to develop RAP with RAP . 127 8.1.2 Requirements to teach the Ampersand language . 128 8.1.3 Requirements to automate tasks for design exercises . 129 8.1.4 Requirements to analyse learning behaviour . 129 8.2 Contributions . 130 8.3 Reflection . 132 8.4 Further research and development . 132 A The RAP model 135 A.1 RAP . 135 A.2 User interfaces for students . 148 Bibliography 153 Summary 157 Samenvatting 161 Curriculum Vitae 165 Index 166 Dankwoord Stef Joosten is veel meer geweest dan dat je wensen mag van een promotor. Ik dank hem voor zijn geloof en motiverende betogen, zijn geduld en vasthoudendheid, zijn inspiratie en kritieken, zijn ondersteuning en enthousiasme, want deze invloeden zijn allen onmisbaar geweest voor het kunnen produceren van dit proefschrift. Vervolgens dank ik Lex Wedemeijer, Jaap van der Woude en Lex Bijlsma, om- dat zij altijd tijd hadden om mee te denken en commentaar te geven op dat wat mij bezighield. Mijn dank gaat uit naar de mensen van het Centrum voor Software Technologie van de Universiteit Utrecht en met name Doaitse Swierstra, Sean Leather en Basti- aan Heeren. Zij hebben mij gastvrij ontvangen en barmhartig geholpen bij mijn on- derzoek. Martijn Schrage, Han en Bas Joosten dank ik voor hun ontwikkelwerkzaamheden aan de Ampersand compiler, waardoor ik de ontwikkelomgeving (RAP) heb kunnen maken met alle functionaliteiten die het nu heeft. Bert Zwaneveld, Harrie Swart en Jeroen Merrienboer¨ dank ik voor de gesprekken, die ik met ze heb gehad. Tenslotte bedank ik mijn gezin. Mijn vrouw Floor voor het luisterend oor dat ze me geboden heeft. Mijn dochter Veerle omdat ze zo fijn heeft meegewerkt. Mijn zoon Ruben voor de zelfreflectie. Mijn pasgeboren zoon Roy, we gaan het beleven! vi CONTENTS Chapter 1 INTRODUCTION This dissertation provides insight into a didactic problem: How to teach Ampersand, which is a rule-based approach to design information systems and business processes (IS&BP). This research addresses difficulties to design IS&BP, which are specific to a rule-based design approach, namely the difficulty: • to understand and agree upon requirements, that is, what do the stakehold- ers want? For which we have found inspiration in the Business Rules Ap- proach [32]. • to implement requirements, that is, how to develop software from require- ments? For which we have found inspiration in model-driven software en- gineering [25]. • to cope with changing requirements, that is, how to maintain requirements and software? For which we have found inspiration in the work of Date [5]. • to formulate and communicate requirements, which is needed to manage re- quirements and software in a structural.
Recommended publications
  • 1 Elementary Set Theory
    1 Elementary Set Theory Notation: fg enclose a set. f1; 2; 3g = f3; 2; 2; 1; 3g because a set is not defined by order or multiplicity. f0; 2; 4;:::g = fxjx is an even natural numberg because two ways of writing a set are equivalent. ; is the empty set. x 2 A denotes x is an element of A. N = f0; 1; 2;:::g are the natural numbers. Z = f:::; −2; −1; 0; 1; 2;:::g are the integers. m Q = f n jm; n 2 Z and n 6= 0g are the rational numbers. R are the real numbers. Axiom 1.1. Axiom of Extensionality Let A; B be sets. If (8x)x 2 A iff x 2 B then A = B. Definition 1.1 (Subset). Let A; B be sets. Then A is a subset of B, written A ⊆ B iff (8x) if x 2 A then x 2 B. Theorem 1.1. If A ⊆ B and B ⊆ A then A = B. Proof. Let x be arbitrary. Because A ⊆ B if x 2 A then x 2 B Because B ⊆ A if x 2 B then x 2 A Hence, x 2 A iff x 2 B, thus A = B. Definition 1.2 (Union). Let A; B be sets. The Union A [ B of A and B is defined by x 2 A [ B if x 2 A or x 2 B. Theorem 1.2. A [ (B [ C) = (A [ B) [ C Proof. Let x be arbitrary. x 2 A [ (B [ C) iff x 2 A or x 2 B [ C iff x 2 A or (x 2 B or x 2 C) iff x 2 A or x 2 B or x 2 C iff (x 2 A or x 2 B) or x 2 C iff x 2 A [ B or x 2 C iff x 2 (A [ B) [ C Definition 1.3 (Intersection).
    [Show full text]
  • Logic, Proofs
    CHAPTER 1 Logic, Proofs 1.1. Propositions A proposition is a declarative sentence that is either true or false (but not both). For instance, the following are propositions: “Paris is in France” (true), “London is in Denmark” (false), “2 < 4” (true), “4 = 7 (false)”. However the following are not propositions: “what is your name?” (this is a question), “do your homework” (this is a command), “this sentence is false” (neither true nor false), “x is an even number” (it depends on what x represents), “Socrates” (it is not even a sentence). The truth or falsehood of a proposition is called its truth value. 1.1.1. Connectives, Truth Tables. Connectives are used for making compound propositions. The main ones are the following (p and q represent given propositions): Name Represented Meaning Negation p “not p” Conjunction p¬ q “p and q” Disjunction p ∧ q “p or q (or both)” Exclusive Or p ∨ q “either p or q, but not both” Implication p ⊕ q “if p then q” Biconditional p → q “p if and only if q” ↔ The truth value of a compound proposition depends only on the value of its components. Writing F for “false” and T for “true”, we can summarize the meaning of the connectives in the following way: 6 1.1. PROPOSITIONS 7 p q p p q p q p q p q p q T T ¬F T∧ T∨ ⊕F →T ↔T T F F F T T F F F T T F T T T F F F T F F F T T Note that represents a non-exclusive or, i.e., p q is true when any of p, q is true∨ and also when both are true.
    [Show full text]
  • Logic, Sets, and Proofs David A
    Logic, Sets, and Proofs David A. Cox and Catherine C. McGeoch Amherst College 1 Logic Logical Statements. A logical statement is a mathematical statement that is either true or false. Here we denote logical statements with capital letters A; B. Logical statements be combined to form new logical statements as follows: Name Notation Conjunction A and B Disjunction A or B Negation not A :A Implication A implies B if A, then B A ) B Equivalence A if and only if B A , B Here are some examples of conjunction, disjunction and negation: x > 1 and x < 3: This is true when x is in the open interval (1; 3). x > 1 or x < 3: This is true for all real numbers x. :(x > 1): This is the same as x ≤ 1. Here are two logical statements that are true: x > 4 ) x > 2. x2 = 1 , (x = 1 or x = −1). Note that \x = 1 or x = −1" is usually written x = ±1. Converses, Contrapositives, and Tautologies. We begin with converses and contrapositives: • The converse of \A implies B" is \B implies A". • The contrapositive of \A implies B" is \:B implies :A" Thus the statement \x > 4 ) x > 2" has: • Converse: x > 2 ) x > 4. • Contrapositive: x ≤ 2 ) x ≤ 4. 1 Some logical statements are guaranteed to always be true. These are tautologies. Here are two tautologies that involve converses and contrapositives: • (A if and only if B) , ((A implies B) and (B implies A)). In other words, A and B are equivalent exactly when both A ) B and its converse are true.
    [Show full text]
  • Lecture 1: Propositional Logic
    Lecture 1: Propositional Logic Syntax Semantics Truth tables Implications and Equivalences Valid and Invalid arguments Normal forms Davis-Putnam Algorithm 1 Atomic propositions and logical connectives An atomic proposition is a statement or assertion that must be true or false. Examples of atomic propositions are: “5 is a prime” and “program terminates”. Propositional formulas are constructed from atomic propositions by using logical connectives. Connectives false true not and or conditional (implies) biconditional (equivalent) A typical propositional formula is The truth value of a propositional formula can be calculated from the truth values of the atomic propositions it contains. 2 Well-formed propositional formulas The well-formed formulas of propositional logic are obtained by using the construction rules below: An atomic proposition is a well-formed formula. If is a well-formed formula, then so is . If and are well-formed formulas, then so are , , , and . If is a well-formed formula, then so is . Alternatively, can use Backus-Naur Form (BNF) : formula ::= Atomic Proposition formula formula formula formula formula formula formula formula formula formula 3 Truth functions The truth of a propositional formula is a function of the truth values of the atomic propositions it contains. A truth assignment is a mapping that associates a truth value with each of the atomic propositions . Let be a truth assignment for . If we identify with false and with true, we can easily determine the truth value of under . The other logical connectives can be handled in a similar manner. Truth functions are sometimes called Boolean functions. 4 Truth tables for basic logical connectives A truth table shows whether a propositional formula is true or false for each possible truth assignment.
    [Show full text]
  • Proofs and Mathematical Reasoning
    Proofs and Mathematical Reasoning University of Birmingham Author: Supervisors: Agata Stefanowicz Joe Kyle Michael Grove September 2014 c University of Birmingham 2014 Contents 1 Introduction 6 2 Mathematical language and symbols 6 2.1 Mathematics is a language . .6 2.2 Greek alphabet . .6 2.3 Symbols . .6 2.4 Words in mathematics . .7 3 What is a proof? 9 3.1 Writer versus reader . .9 3.2 Methods of proofs . .9 3.3 Implications and if and only if statements . 10 4 Direct proof 11 4.1 Description of method . 11 4.2 Hard parts? . 11 4.3 Examples . 11 4.4 Fallacious \proofs" . 15 4.5 Counterexamples . 16 5 Proof by cases 17 5.1 Method . 17 5.2 Hard parts? . 17 5.3 Examples of proof by cases . 17 6 Mathematical Induction 19 6.1 Method . 19 6.2 Versions of induction. 19 6.3 Hard parts? . 20 6.4 Examples of mathematical induction . 20 7 Contradiction 26 7.1 Method . 26 7.2 Hard parts? . 26 7.3 Examples of proof by contradiction . 26 8 Contrapositive 29 8.1 Method . 29 8.2 Hard parts? . 29 8.3 Examples . 29 9 Tips 31 9.1 What common mistakes do students make when trying to present the proofs? . 31 9.2 What are the reasons for mistakes? . 32 9.3 Advice to students for writing good proofs . 32 9.4 Friendly reminder . 32 c University of Birmingham 2014 10 Sets 34 10.1 Basics . 34 10.2 Subsets and power sets . 34 10.3 Cardinality and equality .
    [Show full text]
  • Contents 1 Proofs, Logic, and Sets
    Introduction to Proof (part 1): Proofs, Logic, and Sets (by Evan Dummit, 2019, v. 1.00) Contents 1 Proofs, Logic, and Sets 1 1.1 Overview of Mathematical Proof . 1 1.2 Elements of Logic . 5 1.2.1 Propositions and Conditional Statements . 5 1.2.2 Boolean Operators and Boolean Logic . 8 1.3 Sets and Set Operations . 11 1.3.1 Sets . 11 1.3.2 Subsets . 12 1.3.3 Intersections and Unions . 14 1.3.4 Complements and Universal Sets . 17 1.3.5 Cartesian Products . 20 1.4 Quantiers . 22 1.4.1 Quantiers and Variables . 22 1.4.2 Properties of Quantiers . 24 1.4.3 Examples Involving Quantiers . 26 1.4.4 Families of Sets . 28 1 Proofs, Logic, and Sets In this chapter, we introduce a number of foundational concepts for rigorous mathematics, including an overview of mathematical proof, elements of Boolean and propositional logic, and basic elements of set theory. 1.1 Overview of Mathematical Proof • In colloquial usage, to provide proof of something means to provide strong evidence for a particular claim. • In mathematics, we formalize this intuitive idea of proof by making explicit the types of logical inferences that are allowed. ◦ To provide a mathematical proof of a claim is to give a sequence of statements showing that a partic- ular collection of assumptions (typically called hypotheses) imply the stated result (typically called the conclusion). ◦ Each statement in a proof follows logically from the previous statements in the proof or facts known to be true from elsewhere. This type of reasoning is usually called deductive reasoning.
    [Show full text]
  • 2 Ch 2: LOGIC
    2 Ch 2: LOGIC 2.1 Statements A statement is a sentence that is either true or false, but not both. Ex 1: Today is Monday. Ex 2: The integer 3 is even. Not examples: The equation 3x = 12. This is not a statement b/c it depends on the value of x. There is one value that makes it true, but the sentence is not always true. Every statement has a truth value, namely true T or false F. A sentence containing a variable(s) is called an open sentence. Ex: The integer r is even. Possible truth values are often given in a table called a truth table. Examples: P Truth table for a sentence P: T F P Q T T Truth table for two sentences P and Q: T F F T F F Thus two statements will give us 22 combinations (rows below the one with P and Q) in the table. For three statements we would get 23 combinations, since there are two choices for each of the three statement(either T or F). 2.2 The Negation of a statement The negation of a statement P is the statement ∼ P : not P . Ex: P : 3 is even. ∼ P : 3 is not even. OR: ∼ P : 3 is odd. Observe that when the statement is false, its negation is true. P ∼ P Truth table for sentence ∼ P : T F F T 2.3 The Disjunction and Conjunction of a Statement For two statements P and Q, the disjunction of P and Q is P ∨ Q (P or Q).
    [Show full text]
  • An Introduction to Formal Logic
    forall x: Calgary An Introduction to Formal Logic By P. D. Magnus Tim Button with additions by J. Robert Loftis Robert Trueman remixed and revised by Aaron Thomas-Bolduc Richard Zach Fall 2021 This book is based on forallx: Cambridge, by Tim Button (University College Lon- don), used under a CC BY 4.0 license, which is based in turn on forallx, by P.D. Magnus (University at Albany, State University of New York), used under a CC BY 4.0 li- cense, and was remixed, revised, & expanded by Aaron Thomas-Bolduc & Richard Zach (University of Calgary). It includes additional material from forallx by P.D. Magnus and Metatheory by Tim Button, used under a CC BY 4.0 license, from forallx: Lorain County Remix, by Cathal Woods and J. Robert Loftis, and from A Modal Logic Primer by Robert Trueman, used with permission. This work is licensed under a Creative Commons Attribution 4.0 license. You are free to copy and redistribute the material in any medium or format, and remix, transform, and build upon the material for any purpose, even commercially, under the following terms: ⊲ You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. ⊲ You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. The LATEX source for this book is available on GitHub and PDFs at forallx.openlogicproject.org.
    [Show full text]
  • An Introduction to Critical Thinking and Symbolic Logic: Volume 1 Formal Logic
    An Introduction to Critical Thinking and Symbolic Logic: Volume 1 Formal Logic Rebeka Ferreira and Anthony Ferrucci 1 1An Introduction to Critical Thinking and Symbolic Logic: Volume 1 Formal Logic is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. 1 Preface This textbook has developed over the last few years of teaching introductory symbolic logic and critical thinking courses. It has been truly a pleasure to have beneted from such great students and colleagues over the years. As we have become increasingly frustrated with the costs of traditional logic textbooks (though many of them deserve high praise for their accuracy and depth), the move to open source has become more and more attractive. We're happy to provide it free of charge for educational use. With that being said, there are always improvements to be made here and we would be most grateful for constructive feedback and criticism. We have chosen to write this text in LaTex and have adopted certain conventions with symbols. Certainly many important aspects of critical thinking and logic have been omitted here, including historical developments and key logicians, and for that we apologize. Our goal was to create a textbook that could be provided to students free of charge and still contain some of the more important elements of critical thinking and introductory logic. To that end, an additional benet of providing this textbook as a Open Education Resource (OER) is that we will be able to provide newer updated versions of this text more frequently, and without any concern about increased charges each time.
    [Show full text]
  • Guide to Set Theory Proofs
    CS103 Handout 07 Summer 2019 June 28, 2019 Guide to Proofs on Sets Richard Feynman, one of the greatest physicists of the twentieth century, gave a famous series of lectures on physics while a professor at Caltech. Those lectures have been recorded for posterity and are legendary for their blend of intuitive and mathematical reasoning. One of my favorite quotes from these lectures comes early on, when Feynman talks about the atomic theory of matter. Here’s a relevant excerpt: If, in some cataclysm, all of scientific knowledge were to be destroyed, and only one sen- tence passed on to the next generations of creatures, what statement would contain the most information in the fewest words? I believe it is the atomic hypothesis (or the atomic fact, or whatever you wish to call it) that all things are made of atoms [. ...] In that one sentence, you will see, there is an enormous amount of information about the world, if just a little imagination and thinking are applied. This idea argues for a serious shift in perspective about how to interpret properties of objects in the physical world. Think about how, for example, you might try to understand why steel is so much stronger and tougher than charcoal and iron. If you don’t have atomic theory, you’d proba- bly think about what sorts of “inherent qualities” charcoal and iron each possess, and how those qualities interacting with one another would give rise to steel’s strength. That’s how you’d think about things if you were an alchemist.
    [Show full text]
  • Set Theory and Logic in Greater Detail
    Chapter 1 Logic and Set Theory To criticize mathematics for its abstraction is to miss the point entirely. Abstraction is what makes mathematics work. If you concentrate too closely on too limited an application of a mathematical idea, you rob the mathematician of his most important tools: analogy, generality, and simplicity. – Ian Stewart Does God play dice? The mathematics of chaos In mathematics, a proof is a demonstration that, assuming certain axioms, some statement is necessarily true. That is, a proof is a logical argument, not an empir- ical one. One must demonstrate that a proposition is true in all cases before it is considered a theorem of mathematics. An unproven proposition for which there is some sort of empirical evidence is known as a conjecture. Mathematical logic is the framework upon which rigorous proofs are built. It is the study of the principles and criteria of valid inference and demonstrations. Logicians have analyzed set theory in great details, formulating a collection of axioms that affords a broad enough and strong enough foundation to mathematical reasoning. The standard form of axiomatic set theory is the Zermelo-Fraenkel set theory, together with the axiom of choice. Each of the axioms included in this the- ory expresses a property of sets that is widely accepted by mathematicians. It is unfortunately true that careless use of set theory can lead to contradictions. Avoid- ing such contradictions was one of the original motivations for the axiomatization of set theory. 1 2 CHAPTER 1. LOGIC AND SET THEORY A rigorous analysis of set theory belongs to the foundations of mathematics and mathematical logic.
    [Show full text]
  • CS 360, Winter 2011
    CS 360, Winter 2011 Morphology of Proof: An introduction to rigorous proof techniques∗ 1 Methodology of Proof | An example Deep down, all theorems are of the form \If A then B," though they may be expressed in some other way, such as \All A are B" or \Let A be true. Then B is true." Thus every proof has assumptions|the A part|and conclusions|the B part. To prove a theorem, you must combine the assumptions you are given with definitions and other theorems to prove the conclusion. Definitions and theorems let you convert statements to other statements; by stringing these together you can convert the statements of A into the statements of B. This constitutes a proof. For example: Theorem 1. Let x be a number greater than or equal to 4. Then 2x ≥ x2. This theorem converts the statement \a number x is greater than or equal to 4" to \for this number, 2x ≥ x2." We can use it in the proof of another theorem, like so: Theorem 2. Let x be the sum of four squares, a2 + b2 + c2 + d2, where a; b; c and d are positive integers. Then 2x ≥ x2. If we can prove that x is of necessity greater than or equal to 4 (by noting, for instance, that a; b; c and d are at least 1, and thus their sum is at least 4), then we can convert the assumption of our theorem from \x is the sum of four squares" to \2x ≥ x2." This completes our proof. Often, we use definitions to expand out mathematical shorthand before we can start applying proofs.
    [Show full text]